#pragma once
#include "DXAMLCommon.h"

class IPALPrintIOServices
{
public:
	virtual HRESULT PrintStringCchA(char *pszDest, XUINT32 cchDest, const char *pszFormat,...) = 0;
	virtual HRESULT PrintStringCchVA(char *pszDest, XUINT32 cchDest, const char *pszFormat,va_list vargs) = 0;
	virtual HRESULT PrintStringCchExA(char *pszDest, XUINT32 cchDest, char **ppszDestEnd, XUINT32 *pcchRemaining, XUINT32 dwFlags, const char *pszFormat,...) = 0;
	virtual HRESULT PrintStringCchExVA( char *pszDest, XUINT32 cchDest, char **ppszDestEnd, XUINT32 *pcchRemaining, XUINT32 dwFlags, const char *pszFormat, va_list vargs) = 0;
	virtual HRESULT PrintStringCchW(XCHAR * pszDest, XUINT32 cchDest, const XCHAR * pszFormat,...) = 0;
	virtual HRESULT PrintStringCchVW(XCHAR * pszDest, XUINT32 cchDest, const XCHAR * pszFormat,va_list vargs) = 0;
	virtual HRESULT PrintStringCchExW(XCHAR * pszDest, XUINT32 cchDest, XCHAR * *ppszDestEnd, XUINT32 *pcchRemaining, XUINT32 dwFlags, const XCHAR * pszFormat,...) = 0;
	virtual HRESULT PrintStringCchExVW( XCHAR * pszDest, XUINT32 cchDest, XCHAR * *ppszDestEnd, XUINT32 *pcchRemaining, XUINT32 dwFlags, const XCHAR * pszFormat, va_list vargs) = 0;
};